package com.example.pojo;

import com.example.annotation.ListNotHasNull;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.NotEmpty;
import javax.validation.Valid;
import java.util.List;

/**
 * @program: springboot_course
 * @description: 人物实体类
 * @author: ChenZhiXiang
 * @create: 2019-06-11 10:05
 **/
@Data
public class Person {

    @NotBlank(message = "姓名不能为空")
    private String name;

    @NotBlank(message = "性别不能为空")
    private String sex;

    @NotEmpty(message = "家庭成员不能为空")
    @ListNotHasNull(message = "所有家庭成员信息中不能有为null的")
    /** 此处加@Valid注解的原因是注明要递归校验，加上这个注解就会递归校验List中每个元素的属性是否符合规则 ,即是嵌套验证*/
    @Valid
    private List<User> familyMembers;
}
